/**
 * 获取参数的json对象
 * @param dom 选择器
 * @returns {{}}
 */
function getParamJson(dom){
    var params = {};
    var fields = $(dom).serializeArray();
    $.each( fields, function(i, field) {
        if(params[field.name]){
            if(typeof params[field.name] !== 'object'){
                var value = params[field.name];
                params[field.name] = [];
                params[field.name].push(value);
            }
            params[field.name].push(field.value);
        }else{
            params[field.name] = field.value;
        }
    });
    return params;
}

/**
 * 初始化页面事件
 * @param table layui表格对象
 * @param idStr 表格id
 * @param tableEvent 表格事件
 * @param otherBtnEvent 其他按钮时间
 */
function initTableEvnet(table, idStr, tableEvent, otherBtnEvent){
    //监听事件
    table.on('tool(' + idStr + ')', function(obj){
        if(typeof tableEvent[obj.event] === 'function'){
            tableEvent[obj.event](obj);
        }
    });
    // 自定义监听按钮事件
    $('[btn-listener] [lay-event]').on('click', function(){
        var event = $(this).attr('lay-event');
        var notEmpty = $(this).attr('not-null');
        if(event && typeof otherBtnEvent[event] === 'function'){
            var checkStatus = table.checkStatus(idStr);
            var data = checkStatus.data; //获取选中行的数据
            var length = checkStatus.data.length; //获取选中行数量，可作为是否有选中行的条件
            var isAll = checkStatus.isAll;//表格是否全选
            if(notEmpty && notEmpty == '1' && length == 0){
                parent.layer.msg('请选择需要操作的记录');
                return;
            }
            otherBtnEvent[event](data, length, isAll);
        }
    });
}
/**
 * 蛇状转驼峰
 * @param str 蛇形字符串
 */
function transformHump(str){
    if(!str){
        return str;
    }
    return str.replace(/_(\w)/g, function(x){return x.slice(1).toUpperCase();});
}